package com.wlj;

import java.util.*;

/**
 * @Author lijian.wu
 * @Date 2021/6/8 5:28 下午
 */
public class Constant {
    /** 常量值列表 */
    public static final List<Integer> CONST_VALUE_LIST = Collections.unmodifiableList(Arrays.asList(1, 2, 3));
    /** 常量值集合 */
    public static final Set<Integer> CONST_VALUE_SET = Collections.unmodifiableSet(new HashSet<>(Arrays.asList(1, 2, 3)));
    /** 常量值映射 */
    public static final Map<Integer, String> CONST_VALUE_MAP;
    static {
        Map<Integer, String> valueMap = new HashMap<>(3);
        valueMap.put(1, "value1");
        valueMap.put(2, "value2");
        valueMap.put(3, "value3");
        CONST_VALUE_MAP = Collections.unmodifiableMap(valueMap);
    }


    /** 常量值数组 */
    private static final int[] CONST_VALUES = new int[] {1, 2, 3};

    /** 获取常量值数组方法
     * 由于每次返回的是一个克隆数组，即便修改了克隆数组的常量值，也不会导致原始数组常量值的修改。
     * */
    public static int[] getConstValues() {
        return CONST_VALUES.clone();
    }
}
